1. Field of the Invention
This invention relates in general to database management systems performed by computers, and in particular to an optimized remote computer system database debugging, monitoring and managing technique useable in a client-server computing environment.
2. Description of Related Art
Databases are computerized information storage and retrieval systems. A Relational Database Management System (RDBMS) is a database management system (DBMS) which uses relational techniques for storing and retrieving data. RDBMS software using a Structured Query Language (SQL) interface is well known in the art. The SQL interface has evolved into a standard language for RDBMS software and has been adopted as such by both the American National Standards Organization (ANSI) and the International Standards Organization (ISO).
Recently, Persistent SQL Modules (PSM) language became a standard language for coding SQL-based logic, such as stored procedures, user defined functions (UDFs) and triggers. PSM is very similar to Microsoft SQL Server's TSQL and Oracle PL/SQL, which are proprietary technologies and thus not standard. PSM allows for the development of DB2 stored procedures using the SQL language.
As with any development language, there exists a need to provide an efficient mechanism for debugging routines coded in SQL language, and especially for debugging stored procedures with SQL instructions. A new PSM Debugger product by IBM Corporation will soon be implemented in DB2's latest addition to the application development tool suite. It is disclosed in a co-pending application “SQL Debugging Using Stored Procedures”, incorporated herein by reference, by the same inventor, assigned to the assignee of the present invention, and filed concurrently. The debugger gives a user the ability to perform source-level debugging of PSM code. The DB2 Stored Procedure Builder will also be provided, which includes a client front-end to the PSM Debugger, allowing the user to remotely debug server-side SQL stored procedures and other resources.
The PSM Debugger has a PSM Debugger server-side component and a PSM Debugger client-side component. The PSM Debugger server-side component is the back-end interface of the debugger, which forwards the debugging session execution states to the debugger front-end client-side component, including a user interface, and responds to the commands that are issued from this client-side component. The user interface is used to display the debugging session states, including all of the debugger views (such as, source code, variables, call stack, and break points), received from the server-side component, and to forward user commands to the debugger back-end component. The client-side component and server-side component communicate with each other in the PSM Debugger using a set of debugger router stored procedures.
As with any debugger framework, regardless of the language it is used for, there is a need to communicate user interface commands, as well as the debugging session states, between the debugger client component and the debugger server component in a most efficient manner. It is desirable to make the server component implementation independent of the client component implementation. It is also desirable to simplify the PSM debugger router which presently uses stored procedures, required to communicate the various user debugger commands and the debugging session states.
While there have been various techniques developed for optimizing the remote systems debugging and management functions, there is still a need in the art for further optimization techniques involving remote systems debugging operations. Therefore, it would be advantageous to provide a computer method that efficiently debugs and controls the target computer site, is easy to implement and maintain, and decreases the use of communication resources between processors.